//
//  SPConstants.m
//  ShandongPoker
//
//  Created by Developer on 2025-01-08.
//  Copyright © 2025 ShandongPoker. All rights reserved.
//

#import "SPConstants.h"

#pragma mark - 游戏常量

const NSInteger SP_MAX_PLAYERS = 6;
const NSInteger SP_MIN_PLAYERS = 2;
const NSInteger SP_CARDS_PER_PLAYER = 2;
const NSInteger SP_COMMUNITY_CARDS_COUNT = 5;
const NSInteger SP_DEFAULT_STARTING_CHIPS = 10000;

#pragma mark - UI常量

const CGFloat SP_BASE_SPACING = 8.0;
const CGFloat SP_MIN_TOUCH_SIZE = 44.0;
const CGFloat SP_CARD_WIDTH = 60.0;
const CGFloat SP_CARD_HEIGHT = 84.0;
const CGFloat SP_CARD_CORNER_RADIUS = 6.0;
const CGFloat SP_BUTTON_HEIGHT = 48.0;
const CGFloat SP_BUTTON_CORNER_RADIUS = 8.0;

#pragma mark - 动画常量

const NSTimeInterval SP_ANIMATION_DURATION_FAST = 0.2;
const NSTimeInterval SP_ANIMATION_DURATION_NORMAL = 0.3;
const NSTimeInterval SP_ANIMATION_DURATION_SLOW = 0.5;
const NSTimeInterval SP_DEAL_ANIMATION_DURATION = 0.8;

#pragma mark - 通知名称

NSString * const SPGameStateDidChangeNotification = @"SPGameStateDidChangeNotification";
NSString * const SPPlayerActionNotification = @"SPPlayerActionNotification";
NSString * const SPGameDidEndNotification = @"SPGameDidEndNotification";
NSString * const SPChipsDidChangeNotification = @"SPChipsDidChangeNotification";

#pragma mark - UserDefaults Keys

NSString * const SP_USER_SETTINGS_KEY = @"SPUserSettings";
NSString * const SP_GAME_STATISTICS_KEY = @"SPGameStatistics";
NSString * const SP_SOUND_ENABLED_KEY = @"SPSoundEnabled";
NSString * const SP_MUSIC_ENABLED_KEY = @"SPMusicEnabled";
NSString * const SP_VIBRATION_ENABLED_KEY = @"SPVibrationEnabled";

#pragma mark - 错误域

NSString * const SPGameErrorDomain = @"SPGameErrorDomain";
NSString * const SPNetworkErrorDomain = @"SPNetworkErrorDomain";
NSString * const SPDataErrorDomain = @"SPDataErrorDomain";